In the current working environment, spreadsheet software packages, such as Microsoft Excel, are used for the development of models, such as financial models. In this regard, spreadsheet software packages provide a number of useful features that allow for rapid prototyping of models. This is especially important since model developers are constantly generating models to try out new ideas. As will be appreciated, spreadsheet software packages provide a structure to manage data that is familiar to many developers and others. In addition, since various spreadsheet software packages, including Excel, have been packaged with a programming language, such as Visual Basic for Applications (VBA), such spreadsheet software packages have become an even more powerful development tool.
Since many spreadsheet software packages incorporate both data management and programming, spreadsheet software packages often make excellent prototyping engines. In this regard, spreadsheets allow for easy layout of data, and for performing complex calculations. Spreadsheet software packages also often provide a graphical user interface that is comfortable to most users, with programming language additions, such as VBA forms, facilitating quick generation of user-defined graphical user interfaces. In addition, programming within the spreadsheet environment often allows the user to control the flow of calculations, and the spreadsheet environment often allows the user to create complex functions.
With such features, many users often use spreadsheet software packages to create very large complex models. These models are typically “evolutionary” in that they have the ability to change over time. In this regard, because many users encounter similar problems, such users would benefit from reuse of the same model. However, since such models are so specialized, they must typically be modified to each new problem. And because models are typically large, they are often difficult to modify. As such, in many cases, modifications to a model are added on top of the existing model structure. Over time, however, the model has a tendency to become bloated with many features and/or calculations that were at one time important but are no longer needed. As will be appreciated, such bloating often makes models difficult to maintain.
Because of the difficulty in maintaining such models, they are usually operated by only a small number of users. But the inputs required for operation of such models are usually spread across multiple organizations. As such, the small number of users of the models must typically track down all of the required data in the respective organizations. Such a process can be time consuming and tedious for the users. In addition, although spreadsheet models are generally easy to use because they combine both data and code, combining data and code typically makes such models huge interconnected masses that further increases the difficulty in reusing the models.